package com.youngjun.user.service;

import com.youngjun.common.mybatis.service.support.BaseService;
import com.youngjun.user.mapper.DepartmentMapper;
import com.youngjun.user.pojo.domain.Department;
import com.youngjun.user.pojo.dto.DepartmentDTO;
import com.youngjun.user.pojo.dto.query.DepartmentQueryDTO;
import com.youngjun.user.pojo.vo.DepartmentVO;

import java.util.List;

public interface DepartmentService extends BaseService<Department,DepartmentMapper> {

    List<DepartmentVO> querySuperListById(Long id);

    List<DepartmentVO> querySubListById(Long id);

    List<DepartmentVO> queryListByCurrentOrganization(DepartmentQueryDTO dto);

    List<DepartmentVO> queryList(DepartmentQueryDTO dto);

    DepartmentVO createByCurrentOrganization(DepartmentDTO dto);

    DepartmentVO create(DepartmentDTO dto);

    DepartmentVO modifyByCurrentOrganization(DepartmentDTO dto);

    DepartmentVO modify(DepartmentDTO dto);

    void deleteByCurrentOrganization(Long id);

    void delete(Long id);

}